Python 将钢筋相互叠放在一起

Python 将钢筋相互叠放在一起,python,plotly,plotly-python,Python,Plotly,Plotly Python,我一直在使用条形图进行数据可视化,虽然我遇到了一个问题,但我在其他地方找不到任何帮助。以下是我目前得到的图像: 这是生成图表的代码: df = pd.read_csv('laptops.csv') fig_a = px.bar(df, y='Price', x='Laptops', title='Comparing the cost of each laptop.') fig_a.update_layout( height=800,

我一直在使用条形图进行数据可视化,虽然我遇到了一个问题,但我在其他地方找不到任何帮助。以下是我目前得到的图像:

这是生成图表的代码:

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

        fig_a = px.bar(df, y='Price', x='Laptops', title='Comparing the cost of each laptop.')
        fig_a.update_layout(
            height=800,
            width=800,
            margin=dict(
                l=50,
                r=50,
                b=100,
                t=100,
                pad=4,
            ),
            xaxis_categoryorder='total descending',
            barmode='relative'
        )

        fig_a.write_image('plots/laptops1.png')
所以,问题是一些笔记本电脑的名称是相同的,唯一的区别是它们的价格。Plotly会自动将它们堆叠在一起,这是我不想要的。即使x轴值(笔记本电脑)相等,是否有办法单独显示每个条?我尝试使用barmode并给出不同的值,比如“group”或“relative”,但没有任何变化


提前感谢。

barmode='group'
添加到
px.bar()
与将其作为更新布局的一部分相比,会做些什么?或者,您可以迭代您的
df['Laptops'].unique()
,创建一个
df_filt=df[df['Laptops']==laptop]
(我希望这是有意义的:
在df['Laptops'].unique()中为笔记本电脑创建一个图形列表,然后绘制这个列表。尽管有重复的名称,但如果你想将每个笔记本条目分开,那么你需要有一种方法使它们唯一。Plotly/Anywhere/anything无法在没有办法的情况下分隔项目。@Paul Wilson在px.bar()中直接更改barmode没有显示任何更改,建议的迭代也没有显示我想要的工作。最初,笔记本电脑的名称是独一无二的,因为我制作的刮板从一个电子商店网站上收集它们,它们的名称是:“华为MateBook D 15(R5-3500U/8GB/256GB/FHD/W10)神秘银”,使用正则表达式改为“华为MateBook D 15神秘银”。问题在于,保留较长的字符串是可行的,但相反,当绘图保存为图像时,字符会变得不成比例。当我缩短名称时,出现了一个新问题。即使更改宽度和高度以适应所有名称,保存的图像也太大。你能在csv文件中提供数据集的示例吗?我设法通过在每个字符串插入列表时在其前面添加索引来修复它。现在,这些图显示了我想要的东西。谢谢你抽出时间。