天道酬勤,学无止境

visualization

Sorting categorical labels in seaborn chart

问题 我确信这应该很容易,但是我在 seaborn 文档中找不到我是如何具体选择要显示的 x 标签分类变量的顺序的? 我每周的工作时间如下,但我想在我的 x 轴上从 0-10、11-20、21-30、31-40 和超过 40 小时订购这些。 我怎样才能做到这一点? def hours_per_week (x): if x < 11: return '0-10 hours' elif x < 21: return '11-20 hours' elif x < 31: return '21-30 hours' elif x < 41: return '31-40 hours' else: return 'More than 40 hours' 这是我绘制图表的 seaborn 代码。 注意“收入猫”是收入低于 50K和收入高于 50K的人的分类分组 plot_income_cat_hours = sns.countplot(x='hours_per_week_grouping', hue='income-cat', data=data) 这是目前我的情节的样子(上面的代码中没有包含一些额外的格式,因为不相关): 回答1 plot_income_cat_hours = sns.countplot(x='hours_per_week_grouping', hue='income-cat'

2022-05-17 00:29:03    分类:技术分享    python   pandas   visualization   seaborn

How to install colormap using pip for Spyder (Python 3.5) on Windows

问题 我想使用 cmap_builder,所以我尝试from colormap import cmap_builder 。 当我尝试时,Spyder 向我抛出了一个错误ImportError: No module named 'colormap' 所以我尝试按照 http://colormap.readthedocs.io/en/latest/ 中的描述安装pip install colormap这不起作用并显示消息No matching distribution found 那么有没有不同的方法来为 python 3.5 安装颜色图以在 Spyder 上使用? 回答1 原则上,matplotlib 已经拥有所有可用于创建自定义颜色图的工具。 两个主要选项是创建分段颜色LinearSegmentedColormap或离散颜色ListedColormap 。 在此处查找深红色、金色和蓝色之间的连续颜色图示例: import matplotlib.colors as mcolors import matplotlib.pyplot as plt import numpy as np cmap = mcolors.LinearSegmentedColormap.from_list("n", ["crimson", "gold","steelblue"]) x = np.linspace(

2022-05-16 17:07:08    分类:技术分享    python-3.x   matplotlib   visualization   spyder   colormap

How can I make a barplot and a lineplot in the same seaborn plot with different Y axes nicely?

问题 我有两组具有共同索引的不同数据,我想在同一个图表中将第一组表示为条形图,将第二组表示为线图。 我目前的方法类似于以下。 ax = pt.a.plot(alpha = .75, kind = 'bar') ax2 = ax.twinx() ax2.plot(ax.get_xticks(), pt.b.values, alpha = .75, color = 'r') 结果与此类似 这张图片非常好,几乎是正确的。 我唯一的问题是ax.twinx()似乎在前一个画布之上创建了一个新画布,并且在条形图的顶部可以清楚地看到白线。 有没有办法在不包括白线的情况下绘制这个? 回答1 您可以使用twinx()方法与 seaborn 一起创建一个单独的 y 轴,一个用于线图,另一个用于条形图。 要控制绘图的样式(seaborn 的默认样式是 darkgrid),您可以使用 set_style 方法并指定首选主题。 如果您设置style=None它会重置为没有网格线的白色背景。 你也可以试试whitegrid 。 如果您想进一步自定义网格线,您可以使用ax2.grid(False)在轴级别上执行此操作。 import matplotlib import matplotlib.pyplot as plt import seaborn as sns matplotlib.rc_file

2022-05-14 11:23:09    分类:技术分享    python   pandas   matplotlib   visualization   seaborn

Pie Chart Display member

问题 回答1 在饼图中,您只需要使用Y-Values 。 因此,如果您有一个 Y 值称为"value"的DataSource data ,您可以使用它来绑定: yourSeries.Points.DataBindY(data, "value"); 您还可以使用这种更通用的绑定方法: yourSeries.Points.DataBind(data, "", "value", ""); 注意第一个,即X-Value是如何留空的; 无论如何,所有点总是被添加索引。 最后一个字符串otherfields将用于扩展属性。 甚至还有另一种绑定Series Points的方法: yourSeries.Points.DataBindXY(data, "somePropery", data, "value"); 请注意,您可以在此处使用两个不同的数据源。 但是您不能将第一个的名称字符串留空,即使实际值将再次被忽略,就像任何饼图一样.. 除了绑定Points ,您还可以使用其他绑定方法,请参阅此处进行讨论或利弊..! 另请注意,第一个DataPoint ,即第一个切片从 0° 开始。 如果您想在顶部启动它,请设置“自定义属性”: PieStartAngle : yourSeries["PieStartAngle"] = "270"; 要显示值,您可以设置: yourSeries

2022-05-13 10:29:29    分类:技术分享    c#   charts   visualization   pie-chart   display

Plot Matlab colours as vertical bars

问题 我偶然发现了这个文件交换提交,给定一个正整数,它会生成许多“最大可区分”的颜色。 该工具运行良好,但我想用彩色垂直带可视化它生成的颜色。 一个示例,取自链接的博客文章: 对于颜色的选择: ans = 0 0 1.0000 1.0000 0 0 0 1.0000 0 0 0 0.1724 1.0000 0.1034 0.7241 1.0000 0.8276 0 0 0.3448 0 我们获得了左侧显示这些颜色的垂直条带。 回答1 一个相当简单的方法如下: a = [ 0 0 1.0000 ; 1.0000 0 0 ; 0 1.0000 0 ; 0 0 0.1724 ; 1.0000 0.1034 0.7241 ; 1.0000 0.8276 0 ; 0 0.3448 0 ] figure imagesc(1:size(a, 1)); colormap(a); % Optional, but neatens things up a bit set(gca, 'clim', [0.5 (size(a, 1) + 0.5)]); % Also optional, removes the ticks from the axes set(gca, 'xtick', [], 'ytick', []); 输出: 回答2 z = [ 0 0 1.0000 1.0000 0 0 0 1.0000

2022-05-12 08:46:03    分类:技术分享    matlab   colors   visualization   lab-color-space

Bokeh logarithmic scale for Bar chart

问题 我知道我可以使用绘图 API 用散景做对数刻度: p = figure( tools="pan,box_zoom,reset,previewsave", y_axis_type="log", y_range=[0.001, 10**22], title="log axis example", x_axis_label='sections', y_axis_label='particles' ) 但是,我无法弄清楚如何将其应用于高级图表,例如Bokeh.charts.Bar. 一般来说,我很难理解Chart和figure之间的关系。 任何人都可以向我指出一些关于此的文档或解释如何修改仅通过图形公开的内容并让它们影响我的图表。 回答1 本周我将专门更新描述不同 Bokeh API 的文档,但目前,三个 Bokeh API 按“级别”递增的顺序排列: 模型接口:最低级别的 API,基础序列化层,必须手动将所有内容放在一起字形接口 (bokeh.plotting):中级 API,轻松创建以可视字形为中心的绘图/图形,其属性与数据相关图表接口(bokeh.charts):用于罐装/示意图统计图表的高级 API,例如“BoxPlot”和“Histogram”。 figure和各种图表函数之间没有特别的关系,除了它们都产生Plot的子类作为输出。 我不确定当前是否可以在“图表

2022-05-10 01:11:11    分类:技术分享    python   charts   visualization   bokeh

ggplot2 color gradient along geom_segment()

问题 我有一组起点和终点坐标,我在它们之间绘制线段。 问题是,我想使用颜色而不是 geom_segment() 提供的箭头来指示线的方向。 像蓝色过渡到红色的东西,以指示方向。 有没有一种简单的方法可以用 ggplot2 做到这一点? 示例数据: points <- data.frame(long=runif(100,-122.4154,-122.3491)) points$lat <- runif(100,37.5976,37.6425) points$long2 <- runif(100,-122.4154,-122.3491) points$lat2 <- runif(100,37.5976,37.6425) # add distance library(geosphere) points$miles <- apply(points, 1, function(x) distHaversine(p1=c(x["long"],x["lat"]),p2=c(x["long2"],x["lat2"]),r=3959)) 到目前为止,我已经能够对线条进行不同的着色,但是我还没有找到一种方法可以在同一条线段上使用两种颜色并在两者之间过渡,当我只有一个起点和终点,之间没有点时: ggplot(points,aes(x=long,xend=long2,y=lat,yend=lat2

2022-05-06 05:11:04    分类:技术分享    r   ggplot2   visualization

Matlab: changing font size on xlabel and ylabel

问题 我正在执行以下操作(这是一个说明问题的简单示例): a = [1,3,4]; b = [1,4,5]; plot(a,b,'LineWidth',4); xlabel('recall','FontSize',35); ylabel('precision','FontSize',4); 它产生: 如您所见, 'FontSize'无效。 我还得到了如下所示的 xlabel 的属性: xl = xlabel('recall','FontSize',35); get(xl) FontAngle = normal FontName = Helvetica FontSize = [35] FontUnits = points FontWeight = normal 回答1 您必须安装软件包: xfonts-100dpi xfonts-75dpi。 正如这个线程中所建议的那样,因为 Ubuntu 12.04 没有附带 MATLAB 特定的字体。

2022-05-05 13:25:12    分类:技术分享    matlab   ubuntu   plot   visualization

ggplot2 color gradient along geom_segment()

I have a set of origin and destination coordinates, and I'm drawing line segments in between them. The thing is, I would like to indicate the direction of the line using color instead of the arrows that are provided with geom_segment(). Something like blue transitioning into red, to indicate direction. Is there a simple way to do this with ggplot2? Example data: points <- data.frame(long=runif(100,-122.4154,-122.3491)) points$lat <- runif(100,37.5976,37.6425) points$long2 <- runif(100,-122.4154,-122.3491) points$lat2 <- runif(100,37.5976,37.6425) # add distance library(geosphere) points$miles

2022-05-03 07:23:05    分类:问答    r   ggplot2   visualization

Echarts4r : Create stacked area chart with percentage from total in tooltip

I need to make stacked area chart using the echarts4r. In spite of great examples on javascript I can't find the solution how to make the area chart stacked using R. Ideally it is also necessary to add to the chart the tooltip with percentage from total as in my example using highcharter package. library(echarts4r) library(highcharter) set.seed(2018) dt <- data.frame(a =1:10, x = rnorm(10, mean = 20, sd = 5), y = rnorm(10, mean = 20, sd = 5), z = rnorm(10, mean = 10, sd = 5)) echarts <- dt %>% e_charts(a) %>% e_area(x, stack = "stack", origin = 'start') %>% e_area(y, stack = "stack", origin =

2022-05-03 05:54:48    分类:问答    r   visualization   echarts