2013-02-11 34 views
2

我剛剛開始瞭解Python庫pandasmatplotlib。你能告訴我作爲一個例子,如何以產生類似於這一個情節與matplotlib如何生成作爲ytick標籤的文本圖

enter image description here

在y軸的數據實例的名稱列在右側。下面的x軸表示與每個實例相關的某個值。

的數據是在類似於該.csv格式:

name;value1;value2 
uk-2007-05;0.01;1000 

理想情況下,既value1value2應與不同顏色或標記相同的情節被繪製。

+0

這看起來像一個簡單的x/y點圖旋轉90度 – slezica 2013-02-11 20:27:37

+0

可能重複http://stackoverflow.com/questions/12645946/imshow-labels-as-any-function-of-the- image-indices/12654847#12654847 – tacaswell 2013-02-11 20:51:23

+0

請發佈一個鏈接到數據集。 – 2013-02-11 22:09:04

回答

4
import random 
import matplotlib.pyplot as plt 

labels = [chr(j) for j in range(97, 115)] 

fake_data1 = [random.random() for l in labels] 
fake_data2 = [random.random() for l in labels] 
y_data = range(len(labels)) 

figure() 
ax = gca() 

ax.grid(True) 
ax.scatter(fake_data1, y_data, color='r') 
ax.scatter(fake_data2, y_data, color='b') 

ax.set_yticks(range(len(labels))) 
ax.set_yticklabels(labels) 
ax.invert_xaxis() 
plt.draw() 

哪裏labels是你的標籤列表,y_data是標籤每個數據點的指數,以及fake_data1fake_data2x值。

output

+0

+1在附註上,明確地設置格式化程序和定位程序可能是這樣的東西的矯枉過正。 – 2013-02-12 00:26:41

+0

@JoeKington你可能是對的。我擴大/簡化了答案。 – tacaswell 2013-02-12 05:44:48

+0

@tcaswell謝謝。我是否也可以將標籤放在圖的右側,並刪除'1.2'和'-0.2'標記? – clstaudt 2013-02-12 13:43:13

相關問題