本文整理汇总了Python中altair.Y属性的典型用法代码示例。如果您正苦于以下问题:Python altair.Y属性的具体用法?Python altair.Y怎么用?Python altair.Y使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类altair
的用法示例。
在下文中一共展示了altair.Y属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: visualize
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def visualize(display_df):
viridis = ['#440154', '#472c7a', '#3b518b', '#2c718e', '#21908d', '#27ad81', '#5cc863', '#aadc32', '#fde725']
import altair as alt
color_scale = alt.Scale(
domain=(display_df.dropna().trending.min(),
0,
display_df.dropna().trending.max()),
range=[viridis[0], viridis[len(viridis) // 2], viridis[-1]]
)
return alt.Chart(display_df).mark_circle().encode(
alt.X('variable'),
alt.Y('term'),
size='frequency',
color=alt.Color('trending:Q', scale=color_scale),
)
示例2: scatterplot
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def scatterplot(x, y, data, hue=None, xlim=None, ylim=None):
# TODO: refactor so it uses category_chart_kwargs?
if xlim is None:
xlim = get_limit_tuple(data[x])
if ylim is None:
ylim = get_limit_tuple(data[y])
xscale = alt.Scale(domain=xlim)
yscale = alt.Scale(domain=ylim)
other_args = {'color': '{hue}:N'.format(hue=hue)} if hue else {}
points = alt.Chart(data).mark_circle().encode(
alt.X(x, scale=xscale),
alt.Y(y, scale=yscale),
**other_args
)
return points
示例3: pairplot
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def pairplot(data, hue=None, vars=None):
if vars is None:
vars = list(data.columns)
chart = alt.Chart(data).mark_circle().encode(
alt.X(alt.repeat("column"), type='quantitative'),
alt.Y(alt.repeat("row"), type='quantitative'),
color='{hue}:N'.format(hue=hue)
).properties(
width=250,
height=250
).repeat(
row=vars,
column=vars
)
return chart
示例4: hist
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def hist(self, bins=None, orientation="vertical", **kwargs):
data = self._preprocess_data(with_index=False)
column = data.columns[0]
if isinstance(bins, int):
bins = alt.Bin(maxbins=bins)
elif bins is None:
bins = True
if orientation == "vertical":
Indep, Dep = alt.X, alt.Y
elif orientation == "horizontal":
Indep, Dep = alt.Y, alt.X
else:
raise ValueError("orientation must be 'horizontal' or 'vertical'.")
mark = self._get_mark_def({"type": "bar", "orient": orientation}, kwargs)
return alt.Chart(data, mark=mark).encode(
Indep(column, title=None, bin=bins), Dep("count()", title="Frequency")
)
示例5: _y
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def _y(y, df, ordinal_threshold=6, **kwargs):
return alt.Y(
field=y,
type=infer_vegalite_type(df[y], ordinal_threshold=ordinal_threshold),
**kwargs
)
示例6: frame_selector_ui
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def frame_selector_ui(summary):
st.sidebar.markdown("# Frame")
# The user can pick which type of object to search for.
object_type = st.sidebar.selectbox("Search for which objects?", summary.columns, 2)
# The user can select a range for how many of the selected objecgt should be present.
min_elts, max_elts = st.sidebar.slider("How many %ss (select a range)?" % object_type, 0, 25, [10, 20])
selected_frames = get_selected_frames(summary, object_type, min_elts, max_elts)
if len(selected_frames) < 1:
return None, None
# Choose a frame out of the selected frames.
selected_frame_index = st.sidebar.slider("Choose a frame (index)", 0, len(selected_frames) - 1, 0)
# Draw an altair chart in the sidebar with information on the frame.
objects_per_frame = summary.loc[selected_frames, object_type].reset_index(drop=True).reset_index()
chart = alt.Chart(objects_per_frame, height=120).mark_area().encode(
alt.X("index:Q", scale=alt.Scale(nice=False)),
alt.Y("%s:Q" % object_type))
selected_frame_df = pd.DataFrame({"selected_frame": [selected_frame_index]})
vline = alt.Chart(selected_frame_df).mark_rule(color="red").encode(
alt.X("selected_frame:Q", axis=None)
)
st.sidebar.altair_chart(alt.layer(chart, vline))
selected_frame = selected_frames[selected_frame_index]
return selected_frame_index, selected_frame
# Select frames based on the selection in the sidebar
示例7: altair_step_matrix
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def altair_step_matrix(diff, plot_name=None, title='', vmin=None, vmax=None, font_size=12, **kwargs):
heatmap_data = diff.reset_index().melt('index')
heatmap_data.columns = ['y', 'x', 'z']
table = alt.Chart(heatmap_data).encode(
x=alt.X('x:O', sort=None),
y=alt.Y('y:O', sort=None)
)
heatmap = table.mark_rect().encode(
color=alt.Color(
'z:Q',
scale=alt.Scale(scheme='blues'),
)
)
text = table.mark_text(
align='center', fontSize=font_size
).encode(
text='z',
color=alt.condition(
abs(alt.datum.z) < 0.8,
alt.value('black'),
alt.value('white'))
)
heatmap_object = (heatmap + text).properties(
width=3 * font_size * len(diff.columns),
height=2 * font_size * diff.shape[0]
)
return heatmap_object, plot_name, None, diff.retention.retention_config
示例8: show_document_length_distribution
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def show_document_length_distribution(tokens: List[List[str]]):
st.header("Document Length Distribution")
document_lengths = get_document_lengths(tokens)
doc_lengths = pd.DataFrame({"Token Count": document_lengths})
doc_length_chart = (
alt.Chart(doc_lengths, height=500, width=700)
.mark_bar()
.encode(
alt.X("Token Count", bin=alt.Bin(maxbins=30)),
alt.Y("count()", type="quantitative"),
)
)
st.altair_chart(doc_length_chart)
示例9: st_heatmap
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def st_heatmap(
heatmap_df: pd.DataFrame, x_col_name: str, y_col_name: str, color_col_name: str
):
heatmap = (
alt.Chart(heatmap_df, height=700, width=700)
.mark_rect()
.encode(alt.X(x_col_name), alt.Y(y_col_name), alt.Color(color_col_name))
)
st.altair_chart(heatmap)
示例10: airline_chart
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def airline_chart(
source: alt.Chart, subset: List[str], name: str, loess=True
) -> alt.Chart:
chart = source.transform_filter(
alt.FieldOneOfPredicate(field="airline", oneOf=subset)
)
highlight = alt.selection(
type="single", nearest=True, on="mouseover", fields=["airline"]
)
points = (
chart.mark_point()
.encode(
x="day",
y=alt.Y("rate", title="# of flights (normalized)"),
color=alt.Color("airline", legend=alt.Legend(title=name)),
tooltip=["day", "airline", "count"],
opacity=alt.value(0.3),
)
.add_selection(highlight)
)
lines = chart.mark_line().encode(
x="day",
y="rate",
color="airline",
size=alt.condition(~highlight, alt.value(1), alt.value(3)),
)
if loess:
lines = lines.transform_loess(
"day", "rate", groupby=["airline"], bandwidth=0.2
)
return lines + points
示例11: airport_chart
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def airport_chart(source: alt.Chart, subset: List[str], name: str) -> alt.Chart:
chart = source.transform_filter(
alt.FieldOneOfPredicate(field="airport", oneOf=subset)
)
highlight = alt.selection(
type="single", nearest=True, on="mouseover", fields=["airport"]
)
points = (
chart.mark_point()
.encode(
x="day",
y=alt.Y("count", title="# of departing flights"),
color=alt.Color("airport", legend=alt.Legend(title=name)),
tooltip=["day", "airport", "city", "count"],
opacity=alt.value(0.3),
)
.add_selection(highlight)
)
lines = (
chart.mark_line()
.encode(
x="day",
y="count",
color="airport",
size=alt.condition(~highlight, alt.value(1), alt.value(3)),
)
.transform_loess("day", "count", groupby=["airport"], bandwidth=0.2)
)
return lines + points
示例12: jointplot
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def jointplot(x, y, data, kind='scatter', hue=None, xlim=None, ylim=None):
if xlim is None:
xlim = get_limit_tuple(data[x])
if ylim is None:
ylim = get_limit_tuple(data[y])
xscale = alt.Scale(domain=xlim)
yscale = alt.Scale(domain=ylim)
points = scatterplot(x, y, data, hue=hue, xlim=xlim, ylim=ylim)
area_args = {'opacity': .3, 'interpolate': 'step'}
blank_axis = alt.Axis(title='')
top_hist = alt.Chart(data).mark_area(**area_args).encode(
alt.X('{x}:Q'.format(x=x),
# when using bins, the axis scale is set through
# the bin extent, so we do not specify the scale here
# (which would be ignored anyway)
bin=alt.Bin(maxbins=20, extent=xscale.domain),
stack=None,
axis=blank_axis,
),
alt.Y('count()', stack=None, axis=blank_axis),
alt.Color('{hue}:N'.format(hue=hue)),
).properties(height=60)
right_hist = alt.Chart(data).mark_area(**area_args).encode(
alt.Y('{y}:Q'.format(y=y),
bin=alt.Bin(maxbins=20, extent=yscale.domain),
stack=None,
axis=blank_axis,
),
alt.X('count()', stack=None, axis=blank_axis),
alt.Color('{hue}:N'.format(hue=hue)),
).properties(width=60)
return top_hist & (points | right_hist)
示例13: heatmap
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def heatmap(data, vmin=None, vmax=None, annot=None, fmt='.2g'):
# We always want to have a DataFrame with semantic information
if not isinstance(data, pd.DataFrame):
matrix = np.asarray(data)
data = pd.DataFrame(matrix)
melted = data.stack().reset_index(name='Value')
x = data.columns.name
y = data.index.name
heatmap = alt.Chart(melted).mark_rect().encode(
alt.X('{x}:O'.format(x=x), scale=alt.Scale(paddingInner=0)),
alt.Y('{y}:O'.format(y=y), scale=alt.Scale(paddingInner=0)),
color='Value:Q'
)
if not annot:
return heatmap
# Overlay text
text = alt.Chart(melted).mark_text(baseline='middle').encode(
x='{x}:O'.format(x=x),
y='{y}:O'.format(y=y),
text=alt.Text('Value', format=fmt),
color=alt.condition(alt.expr.datum['Value'] > 70,
alt.value('black'),
alt.value('white'))
)
return heatmap + text
示例14: _xy
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def _xy(self, mark, **kwargs):
data = self._preprocess_data(with_index=True)
return (
alt.Chart(data, mark=self._get_mark_def(mark, kwargs))
.encode(
x=alt.X(data.columns[0], title=None),
y=alt.Y(data.columns[1], title=None),
tooltip=list(data.columns),
)
.interactive()
)
示例15: hist_frame
# 需要导入模块: import altair [as 别名]
# 或者: from altair import Y [as 别名]
def hist_frame(self, column=None, layout=(-1, 2), **kwargs):
if column is not None:
if isinstance(column, str):
column = [column]
data = self._preprocess_data(with_index=False, usecols=column)
data = data._get_numeric_data()
nrows, ncols = _get_layout(data.shape[1], layout)
return (
alt.Chart(data, mark=self._get_mark_def("bar", kwargs))
.encode(
x=alt.X(alt.repeat("repeat"), type="quantitative", bin=True),
y=alt.Y("count()", title="Frequency"),
)
.repeat(repeat=list(data.columns), columns=ncols)
)