单变量类别散点图熊猫
是否可以将单个值绘制为散点图? 我可以很好地通过使用标记获取ccdfs来绘制它,但我想知道是否有其他替代方法可用?单变量类别散点图熊猫
输入:
输入1
tweetcricscore 51 high active
输入2
tweetcricscore 46 event based
tweetcricscore 12 event based
tweetcricscore 46 event based
输入3
tweetcricscore 1 viewers
tweetcricscore 178 viewers
输入4
tweetcricscore 46 situational
tweetcricscore 23 situational
tweetcricscore 1 situational
tweetcricscore 8 situational
tweetcricscore 56 situational
我可以bokeh
和pandas
使用x
和y
值有非常多写散点图代码。但在单一价值的情况下?
当所有输入合并为一个输入并将按col[3]
分组时,值为col[2]
。
下面的代码是将数据与2个变量
样本输出
UPDATE:
看看Bokeh和Seaborn画廊 - 它可以帮助你了解什么样的情节符合您的需求
,你可以尝试violinplot这样的:
sns.violinplot(x="category", y="val", data=df)
或热图:
import numpy as np
import pandas as pd
from bokeh.charts import HeatMap, output_file, show
cats = ['active', 'based', 'viewers', 'situational']
df = pd.DataFrame({'val': np.random.randint(1,100, 1000), 'category': np.random.choice(cats, 1000)})
hm = HeatMap(df)
output_file('d:/temp/heatmap.html')
show(hm)
群情如何? –
设置你可以尝试boxplot或violinplot。或者,如果您不喜欢这些,只想要点的垂直分布,则可以强制散点图沿着一个x值进行绘图。要做到这一点,你需要创建一个固定值的阵列(比如1),这是相同的长度,你会被绘制数组:
ones = []
for range(len(data)):
ones.append(1)
plt.scatter(ones,data)
plt.show()
这会给你这样的:
谢谢Grr的解决方案。这不是关于不喜欢线条或条形图。它只是因为它们太常见了,并且想要搜索是否有更多有趣的可视化出现在我应该知道的地方。 –
不绘制条形图的另一个原因是输入范围为1到1000的值 –
群体情节如何? –
对于scetterplot你说你想拥有如X轴和什么y轴。或者,你可能有一个带有类别/等的“barplot”。名称为x轴。 – MaxU
是的,它很清楚有散点图x和y是需要的。但在这种情况下,我有单变量数据作为不同类别的输出。线和酒吧非常普遍。我试图找到一个更好的可视化类型。 –
@MaxU不绘制条形图的另一个原因是输入范围为1到1000的值 –