条形图是数据的图形表示,其中值由条的长度表示。
如何使用 plt.bar_label() 有选择地标记条形?
在matplotlib中使用bars = plt.bar(...)绘制条形图时,可以将返回的对象传递给plt.bar_label(bars, labels)以方便标记。 plt.bar_label(bars, labels) 标记所有...
使用 R 中的 ggplot2 自动调整条形图上每个条形内文本的大小
我在 R 中有一个名为 df 的数据框,如下所示: df # 小题:15 × 3 # 组:var1 [3] var1 var2 每 我在 R 中有一个名为 df 的数据框,看起来像这样: df # A tibble: 15 × 3 # Groups: var1 [3] var1 var2 per <chr> <fct> <dbl> 1 My own "Very \n Dissatisfied" 0.00751 2 My own "Dissatisfied" 0.0641 3 My own "Neutral" 0.353 4 My own "Satisfied" 0.384 5 My own "Very \n Satisfied" 0.192 6 No "Very \n Dissatisfied" 0.0445 7 No "Dissatisfied" 0.135 8 No "Neutral" 0.417 9 No "Satisfied" 0.273 10 No "Very \n Satisfied" 0.130 11 Yes "Very \n Dissatisfied" 0.0233 12 Yes "Dissatisfied" 0.0639 13 Yes "Neutral" 0.280 14 Yes "Satisfied" 0.340 15 Yes "Very \n Satisfied" 0.293 我想将其绘制如下图所示,但我希望在每个图中自动调整每个条形中间的百分比。但这里有重叠。 ggplot(df,aes(x=var1,y=per,fill=var2))+ geom_col(position = position_fill(reverse = TRUE))+ theme(axis.title.y=element_blank(),axis.title.x=element_blank())+ coord_flip()+ scale_fill_brewer(palette ="RdYlGn",direction = 1,type="div")+ theme(axis.text.y=element_text(size=12, angle=0,hjust=0,vjust=0))+ theme(axis.text.x=element_text(size=12, angle=0,hjust=0,vjust=0)) + theme(legend.text=element_text(size = 15), legend.title = element_blank() )+ scale_y_continuous(labels = scales::percent)+ geom_text(aes(label = scales::percent(round(per,2))), position = position_stack(reverse = TRUE, vjust = .5)) 我怎样才能在 R 中做到这一点? 数据 structure(list(var1 = c("My own", "My own", "My own", "My own", "My own", "No", "No", "No", "No", "No", "Yes", "Yes", "Yes", "Yes", "Yes"), var2 = structure(c(1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L), levels = c("Very \n Dissatisfied", "Dissatisfied", "Neutral", "Satisfied", "Very \n Satisfied"), class = "factor"), per = c(0.00751285092922104, 0.0640569395017794, 0.352708580466588, 0.383550810597074, 0.192170818505338, 0.0445205479452055, 0.134703196347032, 0.417237442922374, 0.273401826484018, 0.13013698630137, 0.0233160621761658, 0.0639032815198618, 0.27979274611399, 0.340241796200345, 0.292746113989637)), class = c("grouped_df", "tbl_df", "tbl", "data.frame"), row.names = c(NA, -15L), groups = structure(list( var1 = c("My own", "No", "Yes"), .rows = structure(list(1:5, 6:10, 11:15), ptype = integer(0), class = c("vctrs_list_of", "vctrs_vctr", "list"))), class = c("tbl_df", "tbl", "data.frame" ), row.names = c(NA, -3L), .drop = TRUE)) 我认为最好将过度绘制的标签删除到不同的高度。我不知道如何快速使用 position_dodge,所以我建议采用更手动的方法。 library(ggplot2) library(dplyr) df <- df |> group_by(var1) |> mutate(cper = cumsum(per) - per/2) ggplot(df,aes(x=var1,y=per,fill=var2, group = var2))+ geom_col(position = position_fill(reverse = TRUE))+ theme(axis.title.y=element_blank(),axis.title.x=element_blank())+ coord_flip()+ scale_fill_brewer(palette ="RdYlGn",direction = 1,type="div")+ theme(axis.text.y=element_text(size=12, angle=0,hjust=0,vjust=0))+ theme(axis.text.x=element_text(size=12, angle=0,hjust=0,vjust=0)) + theme(legend.text=element_text(size = 15), legend.title = element_blank() )+ scale_y_continuous(labels = scales::percent)+ geom_text(data = df[df$var2 != "Very \n Dissatisfied",], aes(y = cper, label = scales::percent(round(per,2)))) + geom_label(data = df[df$var2 == "Very \n Dissatisfied",], aes(y = cper, label = scales::percent(round(per,2))), nudge_x = 0.15, show.legend = FALSE)
如何在水平条形图中显示数百万到“M”或数千到“K”的后缀而不是完整数字?
我想在我的条形图中添加“M”或“K”后缀。每个标签的数字显示完整的原始数字,但我想四舍五入到最接近的千位并显示...
如何显示值为千到“K”而不是完整数字的geom_bar标签?
所以我想出了如何使用scale_y_continuous()函数在y轴上显示数千个“K”,但我不知道如何为每个标签做同样的事情。 ggplot(
我正在使用 Vico 条形图库在 Compose 中设计一个条形图。 目前,我的代码如下所示,并且每列显示相同的颜色。 笛卡尔图表主机( 图表 =
C#.Net 图表控件。我需要在栏的中间而不是顶部显示栏的标签
C# 和 .NET 图表控件。我需要在栏的中间而不是顶部显示栏的标签。 为了获得下面的原始照片,我将系列标志 IsValueShownAsLabel 设置为 true。德...
我需要创建一个 Y 轴按特定顺序排列的条形图。我需要订购 Y 轴小号、中号、无限号。当我运行代码时,它不断对它进行排序:中等、小型、无限。 一个...
我想要条形图,其中条形图在不同的图中具有相同的宽度,无论显示多少个条形图。我不想在同一页上显示绘图,或用
我必须编写一个查询来形成条形图。在条形图中,x 轴应根据日期时间 (dateValue) 进行分组,y 轴应具有数字总和 (stringValue)。这两个领域都是cu...
我正在尝试在VBA中创建一个堆积柱形图,其中有一个条形图,每个条形图显示图表上子类别的细分(参见图片右侧)。 对于普通酒吧...
在 ggplot (plotnine) 中使用position_dodge2 分组条形图列定位,以防丢失观察结果
我有一个分组条形图,有 2 组。如果在某种情况下,特定列没有观测值,则该组的另一列居中。我找不到办法规避这个问题。我想要...
如何显示 df['column_name'].value_counts() 的(流式)条形图?
我使用的是LightningWebCharts,这里是文档链接https://salesforcelabs.github.io/LightningWebChartJS/ 我想在工具提示值中添加“k”。工具提示文档 https://salesforcelabs.github...
我尝试隐藏条形图条形内的值。原因是我将值放置在条形的顶部,并且该值不应显示两次。 我尝试了不同的隐藏选项...
matplotlib barplot 使用列表列表字典进行分组
我有一些钢在不同冷却剂中淬火后的硬度测量:水、油和空气(只是让它冷却)。测量的组织如下:一个字典,称为
使用 python 中的 matplotlib 按源列表对条形图中的列进行分组
我有一些钢在不同冷却剂中淬火后的硬度测量:水、油和空气(只是让它冷却)。测量的组织如下:一个字典,称为
我正在尝试使用 ggplot2 绘制分组条形图,如下所示。 库(ggplot2) 数据(MTCAR) mtcars$齿轮 <- as.factor(mtcars$gear) mtcars$carb <- as.factor(mtcars$carb) ggplot() + geom_bar(d...
我正在尝试使用 组件为我的条形图制作自定义标签。 这是我的 LabelList 组件和相应的渲染内容函数: 我正在尝试使用 <LabelList> 组件为我的条形图制作自定义标签。 这是我的LabelList组件和相应的渲染内容函数: <LabelList dataKey='pv' position='insideRight' fill='#f5f5f5' className={'chart-label'} offset={15} content={renderLabel} /> const renderLabel = function(props: LabelProps){ return `${props.value}%`; }; 我只需要在图表值的末尾附加一个%符号。但这不起作用。 我对 formatter 组件使用 <LabelList> 属性而不是 content 属性。 <LabelList dataKey='pv' position='insideRight' fill='#f5f5f5' className={'chart-label'} offset={15} formatter={renderLabel} /> const renderLabel = (props: any) => { return `${props}%`; }; 是的,当您只想影响原始标签文本时,使用格式化程序是正确的。如果您想为标签本身提供完整的标记,并且可以完全自由地做您喜欢做的事情,则应该使用 content 属性/api,并且可以将其设置为另一个 React 组件,或者设置为必须从 JSX 返回结果的函数渲染 这是其他偶然发现此博客并可能需要使用“内容”自由的示例。 使用 LabelList 并将内容设置为返回渲染的 JSX 的函数 <LabelList content={renderLabelContent} /> 功能: const renderLabelContent = (props: object) => { const { x: number, y, width, height, value } = props; return ( <div> {// All kinds of custom JSX/html here} {value} </div> ); }; 与另一个自制的react组件(CustomizedLabel)配合使用,可以传入属性和值; <LabelList content={<CustomizedLabel external={external} />} /> 您必须在 jsx 中使用 svg 元素。 这是更新后的代码: const renderLabel = (props: any) => { return <text>props.value</text>; };
我需要渲染一组连续块的时间序列数据。 我需要描述一系列可能跨越多个小时或几分钟的条形图,并具有自己的 Y 值。 我不是……
有人可以帮忙检查为什么单元格颜色不适用于所有条形吗?我在图表中包含了 2 个月的数据,但颜色仅适用于 1 个月,而不是两者都适用 我期望单元格颜色为