我正在尝试在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
错误。
有没有其他可能值得尝试的选择?
答案 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()