如何使用电子表格中的两个不同列制作按图分组的条形图?

Posted

技术标签:

【中文标题】如何使用电子表格中的两个不同列制作按图分组的条形图?【英文标题】:How to make a plotly grouped bar chart using two different columns from spreadsheet? 【发布时间】:2021-12-26 21:18:03 【问题描述】:

我正在做一个业余项目,但在制作显示州内学费和州外学费的分组条形图时遇到了麻烦。我只能显示其中一个。如何让它为每个学院并排显示?

import plotly.express as px
import pandas as pd
import plotly.graph_objects as go
import plotly.io as pio

df = pd.read_csv('college_data.csv')

barchart = px.bar(
    data_frame = df,
    x = "college_name",
    #color = "out-of-state_tuition",
    y = "in-state_tuition",
    opacity = 0.9,
    orientation = "v",
    barmode = 'group',
    title='Annual In-State Tuition vs Out-of-state Tuition',
)
pio.show(barchart)

仅使用一列的条形图:

具有 2 个不同列的电子表格:

【问题讨论】:

【参考方案1】: 将数据作为图像进行采样,并且作为列的不完整数据在答案中无法使用。因此合成了。 https://plotly.com/python-api-reference/generated/plotly.express.bar.html x 或 y 可以选择是列引用列表或 array_likes,在这种情况下,数据将被视为“宽”而不是“长”。
import numpy as np
df = pd.DataFrame("college_name":list("ABCD"),"in-state_tuition":np.random.randint(5000,7000,4),"out-of-state_tuition":np.random.randint(8000,15000,4))

px.bar(
    data_frame = df,
    x = "college_name",
    y = ["in-state_tuition","out-of-state_tuition"],
    opacity = 0.9,
    orientation = "v",
    barmode = 'group',
    title='Annual In-State Tuition vs Out-of-state Tuition',
)

【讨论】:

这就是我想要弄清楚的。太感谢了。抱歉,我的问题很糟糕。

以上是关于如何使用电子表格中的两个不同列制作按图分组的条形图?的主要内容,如果未能解决你的问题,请参考以下文章

如何从ggplot2中的两个不同的二进制值列绘制百分比堆积条形图?

如何使熊猫分类堆积条形图比例为 100%

如何从两个或多个数据框中绘制分组条形图

折线图+不同频率的分组条形图[重复]

如何创建按 2 个类别分组的堆积条形图

分组条形图的子图分组图例