Python에서 매우 높은 품질로 이미지 저장
파이썬 플롯을 매우 높은 품질로 저장하려면 어떻게 해야 합니까?
즉, PDF 파일에 저장된 객체를 계속 확대해봐도 흐림이 없는 이유는 무엇입니까?
또한, 어떤 모드로 저장하는 것이 가장 좋을까요?
png,eps아니면 다른?할 수 없습니다pdf왜냐하면 그곳에는 숨겨진 숫자가 있기 때문입니다.Latexmk편제
Matplotlib을 사용하고 있으며 LaTeX 문서에서 좋은 수치를 가져오려고 하는 경우 EPS로 저장합니다.특히 명령을 실행하여 이미지를 플롯한 후 다음과 같은 작업을 수행합니다.
plt.savefig('destination_path.eps', format='eps')
EPS 파일이 가장 잘 작동하고,dpi매개변수는 문서에서 해당 매개변수를 잘 보이도록 만드는 것입니다.
저장하기 전에 그림의 방향을 지정하려면 다음을 호출하기만 하면 됩니다.plt.savefig호출, 그러나 그림을 만든 후(이름이 있는 축을 사용하여 그림을 그린 경우)ax):
ax.view_init(elev=elevation_angle, azim=azimuthal_angle)
어디에elevation_angle는 극각(수직 z축에서 아래로) 및azimuthal_angle방위각(z축 주위)을 지정합니다.
먼저 이미지를 플롯한 다음 회전하고 각도의 현재 값이 실제 플롯 바로 아래 창 하단을 향해 나타나는 것을 관찰하여 이러한 값을 결정하는 것이 가장 쉽다는 것을 알게 되었습니다.x, y, z 위치는 기본적으로 표시되지만 이미지를 클릭하기 시작하면 두 각도로 바뀝니다.
Matplotlib을 사용하여 결과를 추가합니다.
.java는 제 모든 텍스트를 굵게 만들고 투명성을 제거했습니다. .javg는 제 그래프처럼 보이는 고해상도 사진을 저에게 주었습니다.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# Do the plot code
fig.savefig('myimage.svg', format='svg', dpi=1200)
많은 과학 저널들이 이미지가 무엇인지에 따라 1200/600/300dpi의 이미지를 요구하기 때문에 저는 1200dpi를 사용했습니다.GIMP 또는 Inkscape에서 원하는 dpi 및 형식으로 변환합니다.
.svg는 벡터 그래픽이고 "무한 해상도"를 가지고 있기 때문에 분명히 dpi는 중요하지 않습니다.
다음을 사용하여 1920x1080(또는 1080p)의 수치로 저장할 수 있습니다.
fig = plt.figure(figsize=(19.20,10.80))
여러분은 또한 훨씬 더 높이 올라갈 수도 있고 낮출 수도 있습니다.위의 솔루션은 인쇄에 적합하지만, 요즘에는 생성된 이미지가 PNG/JPG로 들어가거나 와이드 스크린 형식으로 나타나길 원합니다.
좋아요, 스펜서리온2의 대답이 효과가 있다는 걸 알았어요.하지만, 누군가가 그 한 줄로 무엇을 해야 할지 모르는 자신을 발견할 경우, 저는 다음과 같은 방법으로 해야 했습니다.
beingsaved = plt.figure()
# Some scatter plots
plt.scatter(X_1_x, X_1_y)
plt.scatter(X_2_x, X_2_y)
beingsaved.savefig('destination_path.eps', format='eps', dpi=1000)
SeaBorn 그림으로 작업하는 경우 Matplotlib 대신 다음과 같은 .png 영상을 저장할 수 있습니다.
당신이 가지고 있다고 가정해 보겠습니다.matrix개체(Pandas 또는 NumPy)를 선택하고 열 지도를 작성하려는 경우:
import seaborn as sb
image = sb.heatmap(matrix) # This gets you the heatmap
image.figure.savefig("C:/Your/Path/ ... /your_image.png") # This saves it
이 코드는 Seaborn의 최신 버전과 호환됩니다.스택 오버플로 관련 다른 코드는 이전 버전에서만 작동했습니다.
제가 좋아하는 또 다른 방법은 이것입니다.다음 이미지의 크기를 다음과 같이 설정합니다.
plt.subplots(figsize=(15,15))
그런 다음 나중에 콘솔에 출력을 플롯합니다. 여기서 원하는 위치에 복사 붙여넣을 수 있습니다. (Saborn은 Matplotlib 위에 구축되어 있으므로 문제가 없을 것입니다.
언급URL : https://stackoverflow.com/questions/16183462/saving-images-in-python-at-a-very-high-quality
'programing' 카테고리의 다른 글
| 자동 레이아웃으로 모든 하위 뷰에 맞게 수퍼 뷰 크기를 조정하는 방법은 무엇입니까? (0) | 2023.06.08 |
|---|---|
| 함수에 data.frame 열 이름 전달 (0) | 2023.06.08 |
| 오라클 행의 여러 열에서 피벗 사용 (0) | 2023.06.08 |
| TypeScript Playground로 라이브러리를 가져오는 방법 (0) | 2023.06.08 |
| Python3 오류: initial_value는 Str 또는 None(문자열 포함)이어야 합니다.IO (0) | 2023.06.08 |