>백엔드 개발 >파이썬 튜토리얼 >인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !

인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !

WBOY
WBOY앞으로
2023-04-12 11:28:151308검색

인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !

알테어란 무엇인가요?

알테어는 분류 및 집계, 데이터 변환, 데이터 상호 작용, 그래픽 합성 등을 통해 데이터를 종합적으로 이해, 이해, 분석할 수 있기 때문에 통계 시각화 라이브러리라고 불리며, 설치 과정도 pip 명령을 통해 직접 매우 간단합니다.

pip install altair
pip install vega_datasets
pip install altair_viewer

Conda 패키지 관리자를 사용하여 알테어 모듈을 설치하는 경우 코드는 다음과 같습니다.

conda install -c conda-forge altair vega_datasets

알테어 첫 경험

간단하게 히스토그램을 그려보고 먼저 DataFrame 데이터를 생성해 보겠습니다. set, 코드는 다음과 같습니다.

df = pd.DataFrame({"brand":["iPhone","Xiaomi","HuaWei","Vivo"],
"profit(B)":[200,55,88,60]})

다음은 히스토그램을 그리는 코드입니다.

import altair as alt
import pandas as pd
import altair_viewer
chart = alt.Chart(df).mark_bar().encode(x="brand:N",y="profit(B):Q")
# 展示数据,调用display()方法
altair_viewer.display(chart,inline=True)

output

인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !

전체 구문 구조 중 먼저 alt.Chart()를 사용하여 사용할 데이터 세트를 지정합니다. , 그리고 인스턴스 메소드 mark_*()를 사용하여 차트 스타일을 그리고 마지막으로 N과 Q가 각각 무엇을 나타내는지 궁금하실 것입니다. 변수 유형 바꾸기 즉, 알테어 모듈은 그래픽 그리기와 관련된 변수 유형을 이해해야 합니다. 그래야만 그려진 그래픽이 우리가 기대하는 효과를 얻을 수 있습니다.

N은 명목변수(Nominal)를 나타내며, 예를 들어 휴대폰 브랜드는 모두 고유명사이고, Q는 수치변수(Quantitative)를 나타내며 이는 이산형 데이터(discrete)와 연속형 데이터(Continuous data)로 나눌 수 있습니다. ), 시계열 데이터 외에도 약어는 T 및 서수 변수(O)입니다. 예를 들어 온라인 쇼핑 과정에서 판매자의 평점은 1~5개의 별점을 갖습니다.

차트 저장

마지막 차트를 저장하려면 save() 메소드를 직접 호출하여 개체를 저장하고 개체를 HTML 파일로 저장하면 됩니다.

chart.save("chart.html")

다음과 같이 저장할 수도 있습니다. JSON 파일입니다. 코드 관점에서는 매우 간단합니다.

chart.save("chart.json")

물론 아래 그림과 같이 이미지 형식의 파일로 저장할 수도 있습니다.

인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !

Altair의 고급 작업

위를 기반으로 더 파생하고 확장하겠습니다. 예를 들어, 가로 막대 차트를 그리려는 경우 X축과 Y축의 데이터가 교환되며 코드는 다음과 같습니다.

chart = alt.Chart(df).mark_bar().encode(x="profit(B):Q", y="brand:N")
chart.save("chart1.html")

output

인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !

동시에 선을 그리려고 합니다. Chart, mark_line() 메소드 코드 호출 다음과 같이

## 创建一组新的数据,以日期为行索引值
np.random.seed(29)
value = np.random.randn(365)
data = np.cumsum(value)
date = pd.date_range(start="20220101", end="20221231")
df = pd.DataFrame({"num": data}, index=date)
line_chart = alt.Chart(df.reset_index()).mark_line().encode(x="index:T", y="num:Q")
line_chart.save("chart2.html")

output

인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !

프로젝트 관리에서 주로 사용되는 Gantt 차트를 그릴 수도 있습니다. X축은 시간과 날짜를 추가합니다. Y축은 프로젝트 진행 상황을 나타내며 코드는 다음과 같습니다.

project = [{"project": "Proj1", "start_time": "2022-01-16", "end_time": "2022-03-20"},
{"project": "Proj2", "start_time": "2022-04-12", "end_time": "2022-11-20"},
......
]
df = alt.Data(values=project)
chart = alt.Chart(df).mark_bar().encode(
 alt.X("start_time:T",
 axis=alt.Axis(format="%x",
 formatType="time",
 tickCount=3),
 scale=alt.Scale(domain=[alt.DateTime(year=2022, month=1, date=1),
 alt.DateTime(year=2022, month=12, date=1)])),
 alt.X2("end_time:T"),
 alt.Y("project:N", axis=alt.Axis(labelAlign="left",
labelFontSize=15,
labelOffset=0,
labelPadding=50)),
 color=alt.Color("project:N", legend=alt.Legend(labelFontSize=12,
symbolOpacity=0.7,
titleFontSize=15)))
chart.save("chart_gantt.html")

output

인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !

위 그림에서 팀이 진행 중인 여러 프로젝트를 볼 수 있습니다. 각 프로젝트의 진행 정도는 다릅니다. 물론, 프로젝트마다 기간도 다릅니다. 동일한 내용을 차트로 표시하면 매우 직관적입니다.

다음으로, mark_circle() 메소드를 호출하여 산점도를 그립니다. 코드는 다음과 같습니다:

df = data.cars()
## 筛选出地区是“USA”也就是美国的乘用车数据
df_1 = alt.Chart(df).transform_filter(
 alt.datum.Origin == "USA"
)
df = data.cars()
df_1 = alt.Chart(df).transform_filter(
 alt.datum.Origin == "USA"
)
chart = df_1.mark_circle().encode(
 alt.X("Horsepower:Q"),
 alt.Y("Miles_per_Gallon:Q")
)
chart.save("chart_dots.html")

output

인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !

물론 차트를 더 아름답게 만들기 위해 이를 더 최적화할 수 있으며, 색상을 추가할 수도 있습니다. , 코드는 다음과 같습니다:

chart = df_1.mark_circle(color=alt.RadialGradient("radial",[alt.GradientStop("white", 0.0),
alt.GradientStop("red", 1.0)]),
 size=160).encode(
 alt.X("Horsepower:Q", scale=alt.Scale(zero=False,padding=20)),
 alt.Y("Miles_per_Gallon:Q", scale=alt.Scale(zero=False,padding=20))
)

output

인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !

우리는 분산점의 크기를 변경합니다. 서로 다른 분산점의 크기는 서로 다른 값을 나타내며, 코드는 다음과 같습니다:

chart = df_1.mark_circle(color=alt.RadialGradient("radial",[alt.GradientStop("white", 0.0),
alt.GradientStop("red", 1.0)]),
 size=160).encode(
 alt.X("Horsepower:Q", scale=alt.Scale(zero=False, padding=20)),
 alt.Y("Miles_per_Gallon:Q", scale=alt.Scale(zero=False, padding=20)),
 size="Acceleration:Q"
)

output

인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !

위 내용은 인기 있는 Python 시각화 모듈을 공유하여 쉽고 빠르게 시작해 보세요! !의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제