- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个数据集,其中变量之间的比例可以完全不同。我想为每个数字变量创建直方图。我试图让 x 和 y 比例尺彼此独立,这样比例尺就不会影响视觉质量。但即使当我使用 resolve_scale()
时,它也只会使 y 尺度独立,而 x 在所有变量中仍然很常见。从下图中可以看出,可以通过应用代码获得。这是期望的行为还是我遗漏了什么?
我的问题是:
1.如何让x尺度独立?
2、怎样才能让标题更贴近剧情?
感谢您的帮助。
版本:python altair 4.0
alt.__version__
'4.0.1'
import altair as alt
data = alt.datasets.load_dataset('flights-2k')
chosen_origin_airports = data.groupby('origin').size().sort_values(ascending=False).head(12).index.tolist()
data = data[data.origin.isin(chosen_origin_airports)]
data.loc[data.origin=='BWI', 'delay'] = data.loc[data.origin=='BWI', 'delay'] * (10000)
alt.Chart(data=data).mark_bar().encode(
x = alt.X('delay:Q',
axis=alt.Axis(title=''),
scale=alt.Scale(zero=False),
bin=alt.Bin(maxbins=20)),
y = alt.Y('count():Q',
axis=alt.Axis(title='')),
color = alt.Color('origin:N')
).properties(
width=130,
height=130
).facet(
alt.Column('origin:N', sort = alt.EncodingSortField(order=None)),
align= 'all',
padding=0,
columns=4,
spacing=0
).properties(
title=''
).configure_title(
fontSize=20,
font='Courier',
anchor='middle',
color='gray',
align='left'
).configure_header(
title=None,
titleColor='green',
titleFontSize=14,
labelColor='forestgreen',
labelFontSize=14
).resolve_axis(
x='independent',
y='independent'
).resolve_scale(
x='independent',
y='independent'
)
最佳答案
您的比例是独立的,但您的装箱不是。不幸的是,Vega-Lite 语法没有提供简单的方法来定义将不同的 bin 参数应用于不同数据子集的 bin 转换,因此您必须为图表的每个面板手动使用不同的 bin 转换。
我可能会做这样的事情:
chart = alt.Chart(data).mark_bar().encode(
x = alt.X('delay:Q',
axis=alt.Axis(title=''),
scale=alt.Scale(zero=False),
bin=alt.Bin(maxbins=20)),
y = alt.Y('count():Q',
axis=alt.Axis(title='')),
color = alt.Color('origin:N')
).properties(
width=130,
height=130
)
alt.ConcatChart(
concat=[
chart.transform_filter(alt.datum.origin == value).properties(title=value)
for value in sorted(data.origin.unique())
],
columns=4
).configure_title(
fontSize=20,
font='Courier',
anchor='middle',
color='gray',
align='left'
).resolve_axis(
x='independent',
y='independent'
).resolve_scale(
x='independent',
y='independent'
)
关于python - Altair 多面直方图 - 独立尺度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60839767/
我的代码中有一个 ggplot2 绘图函数。当文件作为 R 代码来源时,该函数工作正常,但是当我将此函数包含在 R 包中时(当然,我在包的描述和命名空间文件中包含 ggplot2 和比例),我得到以下
VINS中的重力-尺度-速度初始化(2) 细化重力 \(\quad\) 上一篇文章中得到的 \(g\) 一般是存在误差的。因为在实际应用中,当地的重力向量的模一般是已知固定大小的(所以只有
我正在使用 perl 脚本解析一些天气数据,然后使用 gnuplot 在 3 行 2 列显示中绘制这些数据。除了最后一张图“累积降雨量”之外,我的所有图表似乎都可以正常工作。该图实际上绘制正确,但 y
我有两组数据,我想用条形图绘制。但问题是这两组数据的规模截然不同。如果我只使用 bar(A),它看起来像这样:分组但第二个数据集几乎不可见,因为比例。 但是,如果我使用 plotyy(x,y1,x,y
考虑以下用于绘制 matplotlib 图的 python 代码: import matplotlib.pylab as pp import numpy as np alpha = np.linspa
在调查 ConflictError ( see this previous question ) 时,我看到了很多 persistent.mapping.PersistentMapping 冲突。 具
我正在阅读一些代码,其中我注意到使用pyplot.xaxis('log')和pyplot.yaxis('log')时发生了很大的变化。所以基本的散点图如下所示: 添加后: plt.xscale('lo
当覆盖具有相同长度但不同尺度数据的 ggplot 密度图时,是否可以对图的 x 尺度进行归一化以使密度匹配?或者有没有办法标准化密度 y 尺度? library(ggplot2) data <- da
如何在 pyqtgraph 中生成具有两个 Y 尺度的图? 我还需要两个不同颜色的(对应于线条的颜色)。 在 matplotlib 中,可以使用 twinx 来完成,如this example . 如
我有一个看起来像这样的表 我将突出显示的部分作为矩阵,我想对其执行 imshow。我想让绘图的 x 尺度为对数,通过查看最上面一行的参数值可以理解这一点。 matplotlib 是怎么做到的? 最佳答
我正在使用 nvd3 绘制一些系列,并想在绘图中添加一些任意矩形。我如何访问 d3 图的底层 x 和 y 比例,以便我可以将我的矩形坐标转换为 svg 像素坐标,以便与现有数据具有相同的比例: fun
我是一名优秀的程序员,十分优秀!