有没有办法在Matplotlib中使用数组大小​​调整制作时间序列散点图?

时间:2018-05-02 08:28:44

标签: python pandas matplotlib data-visualization scatter-plot

我正在尝试在Pandas DataFrame中制作带有时间序列数据的散点图。我想使标记的大小与数组中的值成比例。

{ article.category === 'Activity' && article.description ? <Text style = {[styles.articleTitle, styles.activityTitle]} numberOfLines = { allTabFilterSelected ? 1 : 3 } ellipsizeMode = {'tail'} > {article.description} < /Text>: null } { article.category === 'Activity' && article.title && article.imageURL && !article.description && !article.link ? < Text style = {[styles.articleTitle, styles.activityTitle]} numberOfLines = {allTabFilterSelected ? 1 : 3} ellipsizeMode = {'tail'} > { S(article.title).decodeHTMLEntities().s } < /Text> : null } 无效,因为它不接受标记大小参数。

当我尝试使用matplotlib.pyplot.plot_date(x, y)时,会返回plt.scatter错误。

有没有其他可能值得尝试的选择?

1 个答案:

答案 0 :(得分:0)

鉴于此df:

import matplotlib.pyplot as plt
import pandas as pd
df = {'col1': ['2017-12-01','2017-12-02','2017-12-03', '2017-12-04'],
      'col2': [5,10,20,30]}
df = pd.DataFrame(data=df)
df['col1'] = pd.to_datetime(df['col1'], format='%Y-%m-%d')
x = df['col1']
y = df['col2']
print df
         col1  col2
0  2017-12-01     5
1  2017-12-02    10
2  2017-12-03    20
3  2017-12-04    30

和这个数组:

a =[1,5,10,20]

您可以尝试:

for index, i in enumerate(a):
    plt.plot(df.iloc[index][0], df.iloc[index][1], marker='.', linestyle='None', markersize=i*2, color='r')
plt.show()

enter image description here