Python 如何绘制范围数据的散点图
我有范围数据,例如,一家教育机构正在为一批在线课程的学生收费 如果有1-4名学生参加,费用为10000/批 如果有5-10名学生参加,费用为15000/批 如果有11-20名学生参加,费用为22000/批Python 如何绘制范围数据的散点图,python,python-3.x,pandas,dataframe,matplotlib,Python,Python 3.x,Pandas,Dataframe,Matplotlib,我有范围数据,例如,一家教育机构正在为一批在线课程的学生收费 如果有1-4名学生参加,费用为10000/批 如果有5-10名学生参加,费用为15000/批 如果有11-20名学生参加,费用为22000/批 x和y是matplotlib的xlable和Yable。在这种情况下,如何转换x的数据并将其打印为xlable。可以将x和y数组转换为数值数组,用于创建散点图: 将x字符串转换为范围 席席席= [List](范围(int(Xi(0)),int(Xi(1))+ 1))席席in [Xi,in(-'
x和y是matplotlib的xlable和Yable。在这种情况下,如何转换x的数据并将其打印为xlable。可以将
x
和y
数组转换为数值数组,用于创建散点图:
y_expanded=[(x[0],[x[1]]*len(x[0])表示zip中的x(x_范围,y)]
#[([1, 2, 3, 4], [10000, 10000, 10000, 10000]),
# ([5, 6, 7, 8, 9, 10], [15000, 15000, 15000, 15000, 15000, 15000]),
# ([11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
# [20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000])]
xy_排序=列表(映射(列表,zip(*y_展开)))
#[[[1, 2, 3, 4], [5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]],
# [[10000, 10000, 10000, 10000],
# [15000, 15000, 15000, 15000, 15000, 15000],
# [20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000]]]
x_result=[x代表xy中的子列表_排序[0]代表x代表子列表]
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
y_结果=[y表示xy中的子列表_排序[1]表示y表示子列表]
#[10000, 10000, 10000, 10000, 15000, 15000, ...]
plt.xticks(x_结果)
plt.ylim(0,最大值(y_结果)+1000)
plt.散射(x_结果,y_结果)
plt.show()
那么你想总共画20点吗?@MustafaAydın是的
x = ['1-4','5-10','11-20']
y = [10000,15000,20000]