반응형
반응형

[python] polar plot에서 한글 사용하기. 

 

Python에서 한글을 matplotlib 플롯에 표시하려면, 폰트를 설정하여 한글이 올바르게 렌더링되도록 해야 합니다. 시스템에 설치된 한글 폰트를 지정하거나, matplotlib에서 기본적으로 한글을 지원하는 폰트를 설정하면 됩니다.

아래는 Example Polar Plot이라는 제목을 한글로 변경하여 출력하는 예제 코드입니다.

 

import matplotlib.pyplot as plt
import numpy as np

# 한글 폰트 설정 (예: Windows에서는 'Malgun Gothic', MacOS에서는 'AppleGothic')
plt.rcParams['font.family'] = 'Malgun Gothic'  # 또는 'AppleGothic' (Mac)
plt.rcParams['axes.unicode_minus'] = False     # 마이너스 기호 깨짐 방지

# 데이터 준비
angles = np.linspace(0, 2 * np.pi, 100)
radii = 1 + np.sin(angles)

# Polar Plot 생성
plt.figure(figsize=(6, 6))
ax = plt.subplot(111, projection='polar')
ax.plot(angles, radii, color='blue', linewidth=2)

# 한글 제목 추가
ax.set_title("예제 polar plot", va='bottom')
plt.show()

코드 설명

  • plt.rcParams['font.family']: 한글을 표시하기 위한 폰트를 지정합니다. Windows에서는 'Malgun Gothic', MacOS에서는 'AppleGothic'을 사용할 수 있습니다.
  • plt.rcParams['axes.unicode_minus'] = False: 마이너스 기호(-)가 깨지지 않도록 설정합니다.
  • ax.set_title("예제 극좌표 플롯", va='bottom'): 제목을 한글로 설정합니다.

이제 matplotlib 플롯에서 한글 제목이 잘 출력될 것입니다.

 

반응형
반응형

돼, 되 절대 안 틀리는 법

 

해, 하로 대입하면 된다는데. 예제를 외울게 아니라 이렇게 대입하니까 되는구나. 

 

되 -> 하

돼 -> 해

 

하면 하지

 

'돼'는 어간+어미 구조로 이루어진 '되어'를 줄인 형태이다.

하지만 '되'는 어간 홀로 쓰인 형태이므로 뒤에 붙는 어미에 의존해야 하며, 오히려 어미가 없으면 단독으로 문장의 짜임을 완성할 수 없다.

 

즉, '되어'로 사용해볼 때 어색하면 ''고, 자연스러우면 ''이다.

 

덧붙이자면, '돼'는 '되' 뒤에 붙은 수많은 어미 형태들(되어, 되다, 된다, 되나 등) 중 하나인 '되어'를 줄인 형태일 뿐이다

 

"돼→되"보단 "되→돼"를 틀리는 경우가 압도적으로 많다.

되가 맞는 경우는 맞춤법을 틀리는 경우는 아주 많지는 않지만 돼가 맞는 경우는 맞춤법을 틀리는 경우가 매우 많다.

 

  • 안 돼지(안 되어지(×)) → 안 되지(○)
    • 물론 동물 '돼지'는 언제나 '돼지'로 쓰고 절대 '되지'로 쓰지 않는다.
  • 돼다(되어다(×)) → 되다(○)
  • 돼어(되어어(×)) → 되어(○)
  • 됀(되언(×)) → 된(○)
  • 됌(되엄(×)) → 됨(○)
  •  
  • 됄(되얼(×)) → 될(○)
  • 됍니다(되업니다(×)) → 됩니다(○)
  • 어근 돼-(×) → 되-(○)
  • 외않됀데?(×) → 왜 안 된대?(○)

 

 

 

 

반응형
반응형

주시경은 35세가 되어서야
비로소 이런저런 공부를 마칠 수 있었다.
그때는 1910년 불행하게도 나라가 일제에 패망한
해였다. 하지만 그는 절망에 빠지지 않고 민족정신을
바로 세우기 위한 국어 운동, 국어 연구와 교육을 통한
계몽 운동을 더욱 활발히 전개했다. 눈코 뜰 새 없이
바쁜 그를 두고 사람들은 '주보따리'라고 불렀다.
가방이 없던 시절, 보자기에 책을 싸서 우리말
한글을 가르칠 수 있는 곳이라면 어디든
마다하지 않고 찾아갔기 때문이다.


- 김슬옹의 《길에서 만나는 한글》 중에서 -


* 민족정신을 되찾는 길은
그 민족의 혼이 담긴 말과 글을 지키는 것입니다.
주시경 선생님같은 위대한 분들이 계셨기에 우리가
한글이라는 빛나는 문화유산을 잃지 않을 수 있게
되었습니다. 말과 글이 혼탁해지고 정체를 알 수
없는 신조어가 난무해, 세대간 소통조차 어려운
오늘날, 주시경님과 그분의 별명인
'주보따리'를 다시금 생각하게
됩니다.

반응형

'생활의 발견 > 아침편지' 카테고리의 다른 글

신체 접촉, 장년층에 더 좋다  (0) 2024.06.26
내면의 평온함을 유지하는 방법  (0) 2024.06.25
대죄(大罪)  (0) 2024.06.24
남 탓, 날씨 탓  (0) 2024.06.21
평화의 길  (0) 2024.06.20
반응형

[python] 한글 자음 확인해서 치환하기 

 

""" 한글 자음인지 확인 
"""
# Define the list of Korean initial consonants (초성)
INITIAL_CONSONANTS = [
    'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 
    'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 
    'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'
]

def is_korean_char(ch):
    """Check if the character is a Korean syllable."""
    return 0xAC00 <= ord(ch) <= 0xD7A3

def get_initial_consonant(ch):
    """Extract the initial consonant from a Korean syllable."""
    if not is_korean_char(ch):
        return None  # or you could return an empty string or raise an exception
    
    # Calculate the index for the initial consonant
    initial_index = (ord(ch) - 0xAC00) // (21 * 28)
    return INITIAL_CONSONANTS[initial_index]

# Example usage
sentence = "안녕하세요"
initials = [get_initial_consonant(ch) for ch in sentence if is_korean_char(ch)]
print(''.join(initials))  # Output: ㅇㄴㅎㅅㅇ
반응형
반응형

[python] 한글 자음, 모음, 초성 추출하기 

 

# pip install jamotools 
# https://pypi.org/project/jamotools/
# A library for Korean Jamo split and vectorize. 
#
# 음절 분할 및 jamos를 음절에 결합하는 API는 hangul-utils 를 기반으로 합니다 .
# 
# Split_syllables : 음절 문자열을 jamos 문자열로 변환하고 유니코드 유형을 변환하도록 선택할 수 있습니다.
# Join_jamos : jamos 문자열을 음절 문자열로 변환합니다.
# Normalize_to_compat_jamo : jamos 문자열을 한글 호환성 Jamo 문자열로 정규화합니다 .
import jamotools

print(jamotools.split_syllable_char(u"안"))
#('ㅇ', 'ㅏ', 'ㄴ')

print(jamotools.split_syllables(u"안녕하세요"))
# ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ


sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
s = jamotools.split_syllables(sentence)
print(s, '\n')

""" ㅇㅏㅍ ㅈㅣㅂ ㅍㅏㅌㅈㅜㄱㅇㅡㄴ ㅂㅜㄺㅇㅡㄴ ㅍㅏㅌ ㅍㅜㅅㅍㅏㅌㅈㅜㄱㅇㅣㄱㅗ,
ㄷㅟㅅㅈㅣㅂ ㅋㅗㅇㅈㅜㄱㅇㅡㄴ ㅎㅐㅅㅋㅗㅇ ㄷㅏㄴㅋㅗㅇ ㅋㅗㅇㅈㅜㄱ.ㅇㅜㄹㅣ
ㅈㅣㅂ ㄲㅐㅈㅜㄱㅇㅡㄴ ㄱㅓㅁㅇㅡㄴ ㄲㅐ ㄲㅐㅈㅜㄱㅇㅣㄴㄷㅔ ㅅㅏㄹㅏㅁㄷㅡㄹㅇㅡㄴ
ㅎㅐㅅㅋㅗㅇ ㄷㅏㄴㅋㅗㅇ ㅋㅗㅇㅈㅜㄱ ㄲㅐㅈㅜㄱ ㅈㅜㄱㅁㅓㄱㄱㅣㄹㅡㄹ
ㅅㅣㅀㅇㅓㅎㅏㄷㅓㄹㅏ. """

sentence2 = jamotools.join_jamos(s)
print(sentence2)
""" 앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집 깨죽은 검은 깨
깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라. """

print(sentence == sentence2)
# True


# 자음만 추출
def extract_vowels(text):
    vowels = set(['ㅏ', 'ㅑ', 'ㅓ', 'ㅕ', 'ㅗ', 'ㅛ', 'ㅜ', 'ㅠ', 'ㅡ', 'ㅣ', 'ㅐ', 'ㅒ', 'ㅔ', 'ㅖ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅢ'])
    result = ''
    for char in text:
        if '가' <= char <= '힣':  # Check if the character is Hangul
            syllables = jamotools.split_syllables(char)
            for syllable in syllables:
                if syllable in vowels:
                    result += syllable
    return result

sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
vowels_only = extract_vowels(sentence)
print(vowels_only)
# ㅏㅣㅏㅜㅡㅜㅡㅏㅜㅏㅜㅣㅗㅟㅣㅗㅜㅡㅐㅗㅏㅗㅗㅜㅜㅣㅣㅐㅜㅡㅓㅡㅐㅐㅜㅣㅔㅏㅏㅡㅡㅐㅗㅏㅗㅗㅜㅐㅜㅜㅓㅣㅡㅣㅓㅏㅓㅏ


# 모음만 추출 
def extract_consonants(text):
    consonants = set(['ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'])
    result = ''
    for char in text:
        if '가' <= char <= '힣':  # Check if the character is Hangul
            syllables = jamotools.split_syllables(char)
            for syllable in syllables:
                if syllable in consonants:
                    result += syllable
    return result

sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
consonants_only = extract_consonants(sentence)
print(consonants_only)
# ㅇㅍㅈㅂㅍㅌㅈㄱㅇㄴㅂㅇㄴㅍㅌㅍㅅㅍㅌㅈㄱㅇㄱㄷㅅㅈㅂㅋㅇㅈㄱㅇㄴㅎㅅㅋㅇㄷㄴㅋㅇㅋㅇㅈㄱㅇㄹㅈㅂㄲㅈㄱㅇㄴㄱㅁㅇㄴㄲㄲㅈㄱㅇㄴㄷㅅㄹㅁㄷㄹㅇㄴㅎㅅㅋㅇㄷㄴㅋㅇㅋㅇㅈㄱㄲㅈㄱㅈㄱㅁㄱㄱㄹㄹㅅㅇㅎㄷㄹ


# 초성만 추출 
def extract_initial_consonants(text):
    result = ''
    for char in text:
        if '가' <= char <= '힣':  # Check if the character is Hangul
            initial_consonant = jamotools.split_syllable_char(char)[0]
            result += initial_consonant
    return result

sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
initial_consonants_only = extract_initial_consonants(sentence)
print(initial_consonants_only)
반응형
반응형

https://namu.wiki/w/%ED%95%9C%EA%B8%80/%EC%9E%90%EB%AA%A8

 

한글/자모

현재 사전이나 컴퓨터 한글 코드에서 한글 자모는 다음 순으로 배열한다. 한글 맞춤법 제4항 붙임 2와 그 해설에 따

namu.wiki

 

한글을 이루는 낱글자. '자모'라고 하여 ' 음'과 ' 음'의 약자로 알고 있는 경우가 많으나, 한자를 보면 母가 아닌 母이다. '글자(字)를 이루는 모(母)체'라는 뜻.

 

자음(19자) : ㄱ ㄲ ㄴ ㄷ ㄸ ㄹ ㅁ ㅂ ㅃ ㅅ ㅆ ㅇ ㅈ ㅉ ㅊ ㅋ ㅌ ㅍ ㅎ
모음(21자) : ㅏ ㅐ ㅑ ㅒ ㅓ ㅔ ㅕ ㅖ ㅗ ㅘ ㅙ ㅚ ㅛ ㅜ ㅝ ㅞ ㅟ ㅠ ㅡ ㅢ ㅣ
받침(27자) : ㄱ ㄲ ㄳ ㄴ ㄵ ㄶ ㄷ ㄹ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅁ ㅂ ㅄ ㅅ ㅆ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ

 

반응형

+ Recent posts