2015-01-10 3 views
8

मेरे पास लंबवत स्टैक्ड & संरेखित आंकड़ों का एक बहु-आंकड़ा बोके प्लॉट है। क्योंकि मैं प्लॉट को लंबवत रूप से संरेखित करना चाहता हूं, वाई-अक्ष लेबल क्षैतिज की बजाय लंबवत होने के लिए घूमते हैं।बोके अक्ष पर # टिकों को समायोजित करने के लिए कैसे करें (लेबल छोटे आंकड़ों पर ओवरलैप कर रहे हैं)

कुछ परिदृश्यों में, बोकेह बहुत सारी चीजें पैदा करता है, जैसे कि टिक लेबल पूरी तरह से ओवरलैप करते हैं, जिससे अवैध हो जाता है। यहाँ एक उदाहरण है:

import bokeh.plotting as bp 
import numpy as np 

y = np.random.uniform(0, 300, 50) 
x = np.arange(len(y)) 

bp.output_file("/tmp/test.html", "test") 
plot = bp.figure(plot_width=800, plot_height=200) 
plot.yaxis.axis_label_text_font_size = "12pt" 
plot.yaxis.major_label_orientation = 'vertical' 

plot.line (x,y) 
bp.show(plot) 

रेंडरर पर्याप्त चतुर कम लेबल स्वचालित रूप से निर्माण करने के लिए बनाने के लघु, वहाँ एक रास्ता लेबल की # एक धुरी पर रखा जाना है इंगित करने के लिए है?

ऐसा लगता है उत्पन्न लेबल की # 10

उत्तर

4

की सत्ता में अपनी आत्मीयता के मामले में, डेटा की श्रेणी के साथ क्या करना है कि वहाँ अभी भी इस निर्दिष्ट करने के लिए कोई सीधा रास्ता है की तरह लग रहा। कृपया संबंधित issue का पालन करें।

from bokeh.models import SingleIntervalTicker, LinearAxis 

plot = bp.figure(plot_width=800, plot_height=200, x_axis_type=None) 
ticker = SingleIntervalTicker(interval=5, num_minor_ticks=10) 
xaxis = LinearAxis(ticker=ticker) 
plot.add_layout(xaxis, 'below') 

enter image description here

आप SingleIntervalTicker में interval पैरामीटर के माध्यम से टिकट की संख्या को नियंत्रित कर सकते हैं: यह एक समाधान नहीं है।

+0

हम्म, वास्तव में आंकड़े/लेआउट डेटा के प्रतिपादन से अलग जेनेरिक वर्ग में बनाए जाते हैं, इसलिए उस बिंदु पर मेरे पास इस चाल का उपयोग करने के लिए डेटा की वास्तविक सीमा जानने का कोई तरीका नहीं है। उस ने कहा, यह एक संभावित कामकाज प्रस्तुत करता है, वास्तव में मैं वास्तव में अपनी स्थिति में उपयोग नहीं कर सकता, इसलिए उत्तर के रूप में चिह्नित किया जाएगा। धन्यवाद –

7

आप desired_num_ticks संपत्ति के साथ अब टिकों की संख्या को नियंत्रित कर सकते हैं। बोके डॉक्स here (और यह issue) से उदाहरण देखें।

उदाहरण के लिए, आपके मामले में, इस तरह कुछ: plot.yaxis[0].ticker.desired_num_ticks = 10

+0

यह एक टिप्पणी है, एक जवाब नहीं। – Alex

+0

मैंने आपके उत्तर की समीक्षा की। आपको अपने उत्तर का समर्थन करना चाहिए और अधिक समझा जाना चाहिए। – Alex

+0

@alireza किया ... धन्यवाद :) – Kevad

संबंधित मुद्दे